package com.conv.shop.business.controller;

import com.conv.shop.business.domain.ProductCategory;
import com.conv.shop.business.service.CategoryService;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
//@RestController 注解是 @Controller 和 @ResponseBody 的结合体,返回值都会自动转换为 JSON
@CrossOrigin
//@CrossOrigin是Spring框架中的一个注解，其主要作用是处理跨域资源共享(CORS)问题。
@RequestMapping("/category")
//用于映射 HTTP 请求到特定的控制器方法
public class CategoryController {
    @Resource
    CategoryService categoryService;
    @PostMapping("/add")
    public boolean CategoryAdd(@Valid @RequestBody ProductCategory productCategory) {
        //@Valid注解的核心功能是进行数据校验。
        return categoryService.addCategory(productCategory);
    }

    @GetMapping("/list")
    public List<ProductCategory> getCategoryList() {
        return categoryService.getListCategory();
    }
    @GetMapping("/delete")
    public boolean CategoryDelete(@Valid String categoryName){
        return categoryService.deleteCategory(categoryName);
    }
    @PostMapping ("/update")
    public boolean CategoryUpdate(@Valid @RequestBody ProductCategory productCategory){
        int i = categoryService.updateCategory(productCategory);
        if (i>0){
            return true;
        }else {
            return false;
        }
    }
}
